// pages/addressList/addressList.js
/**
 * @author hoxisola
 */

const app = getApp()
var delAddress;
var flag; //用来标识是从哪里打开地址列表页面，-1表示中奖记录，1表示个人中心
var acid; //对应活动的活动id
Page({
  /**
   * 页面的初始数据
   */
  data: {
    addressList: []
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    try {
      flag = options.flag;
      acid = options.acid;
    } catch (e) {}
    var arr = wx.getStorageSync('addressList') || []; //从本地缓存拿到地址数组，并写到addressList里面
    this.setData({
      addressList: arr // 更新地址列表 
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    this.onLoad(); //为了呈现用户修改后的地址列表，必须在显示页面是重新加载页面
  },

  //新增地址
  addAddress: function() {
    var idx = -1; //idx=-1代表正常的地址新增，需要添加新的地址
    wx.navigateTo({
      url: '../address/address?idx=' + idx
    });
  },

  //地址操作
  open: function(e) {
    var that = this
    var idx = e.currentTarget.dataset.msg; //此idx代表用户选中的地址处在地址数组的第几位
    if (flag == -1) { //表示从中奖记录页面打开，因此有选中选项
      wx.showActionSheet({
        itemList: ['选择', '编辑', '删除', '复制'],
        success: function(res) {
          if (!res.cancel) {
            if (res.tapIndex == 2) { //删除地址
              that.delAddress(e);
            } else if (res.tapIndex == 1) {
              wx.navigateTo({ //编辑地址
                url: '../address/address?idx=' + idx
              });
            } else if (res.tapIndex == 3) { //复制地址
              var arr = wx.getStorageSync('addressList') || [];
              wx.setClipboardData({
                data: '收货人姓名：' + arr[idx].consignee + '\n' +
                  '手机号：' + arr[idx].mobile + '\n' +
                  '详细地址：' + arr[idx].provinceName + arr[idx].cityName + arr[idx].countyName + arr[idx].address + '\n' + '邮政编码：' + arr[idx].postcode,
                success(res) {
                  wx.showToast({
                    title: '复制成功',
                    icon: 'success',
                    duration: 1000
                  });
                }
              })
            } else { //选择地址，修改中奖记录地址
              var user = wx.getStorageSync('user') || [];
              var arr = wx.getStorageSync('addressList') || [];
              wx.request({
                url: app.globalData.ip + '/jeesite/lottery/wechatAddress/save',
                data: {
                  acid: acid,
                  openid: user.openid,
                  name: arr[idx].consignee,
                  phone: arr[idx].mobile,
                  province: arr[idx].provinceName,
                  city: arr[idx].cityName,
                  district: arr[idx].countyName,
                  detail: arr[idx].address
                },
                header: {
                  "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
                },
                method: 'POST',
                success: function(result) {
                  console.log(result);
                  wx.showToast({
                    title: '保存成功',
                    icon: 'success',
                    duration: 1000
                  });
                },
                fail: function(result) {
                  wx.showModal({
                    title: '保存失败！',
                    content: '服务器崩了吧~',
                    showCancel: false,
                  })
                }
              })
              var pages = getCurrentPages();
              var currPage = pages[pages.length - 1]; //当前页面
              var prevPage = pages[pages.length - 2]; //上一个页面
              //直接调用上一个页面对象的setData()方法，把数据存到上一个页面中去
              prevPage.setData({
                luckyaddress: that.data.addressList[idx]
              });
              console.log(prevPage.data.luckyaddress.consignee)
              wx.navigateBack({
                delta: 1
              })
            }
          }
        }
      });
    } else { //flag!=-1代表是从用户中心进入地址列表，因此没有选中按钮
      wx.showActionSheet({
        itemList: ['编辑', '删除', '复制'],
        success: function(res) {
          if (!res.cancel) {
            // console.log(res.tapIndex + "+" + idx);
            if (res.tapIndex == 1) { //删除地址
              that.delAddress(e);
            } else if (res.tapIndex == 2) { //复制地址
              var arr = wx.getStorageSync('addressList') || [];
              wx.setClipboardData({
                data: '收货人姓名：' + arr[idx].consignee + '\n' +
                  '手机号：' + arr[idx].mobile + '\n' +
                  '详细地址：' + arr[idx].provinceName + arr[idx].cityName + arr[idx].countyName + arr[idx].address + '\n' + '邮政编码：' + arr[idx].postcode,
                success(res) {
                  // wx.hideToast(); //隐藏复制成功的弹窗提示,根据需求可选
                  wx.showToast({
                    title: '复制成功',
                    icon: 'success',
                    duration: 1000
                  });
                }
              })
            } else { //编辑地址
              wx.navigateTo({
                url: '../address/address?idx=' + idx
              });
            }
          }
        }
      });
    }
  },

  //删除地址
  delAddress: function(e) {
    var idx = e.currentTarget.dataset.msg; //代表选中地址的下标
    var arraylist = this.data.addressList.splice(idx, 1); //将对应下标位置的地址剪切下来，形成新数组，未用到
    // 更新地址列表信息 
    if (this.data.addressList.length > 0) {
      this.setData({
        addressList: this.data.addressList
      })
      wx.setStorageSync('addressList', this.data.addressList);
    } else {
      this.setData({
        addressList: this.data.addressList
      })
      wx.setStorageSync('addressList', []);
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})